package com.azt.provider.mapper;

import com.azt.api.dto.CartProduct;
import com.azt.api.dto.item.ProductExt;
import com.azt.api.dto.shop.ProCategory;
import com.azt.api.dto.shop.ProSearchParam;
import com.azt.api.pojo.Product;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

public interface ProductMapper extends Mapper<Product> {

    List<Map> searchProduct(Map param);

    int getMgrProductSkuCount(Map param);

    List<Map> searchMgrProduct(Map param);

    List<CartProduct> findCartProduct(String skuIds);

    /**
     * 是否是爆品
     * */
    boolean isHotProduct(int productId);

    /**
     * 根据供应商id,与类目id ,查该店,该类目下对应的,子类目名称与产品数量
     * @param level  要查的类目的层级
     * @param customerId 供应商id
     *                   Created by 张栋 on 2017/2/8 13:49
     */
    List<ProCategory> getProCategory( @Param("customerId") Integer customerId, @Param("level") Integer level,@Param("pid")Integer pid);

    /**
     * 根据条件查询商品
     * Created by 张栋 on 2017/2/8 17:27
     */
    List<ProductExt> getProductList(@Param("param") ProSearchParam param, @Param("level") Integer level);


    /**
     * 查扩展属性
     * Created by 张栋 on 2017/2/20 18:58
     */
    ProductExt getProductExtById(@Param("productid") Integer productid);
    
    /**
     * 根据公司id获取pro_sku表里面有数据的产品id以逗号隔开
     * @Title: getProductIdsByCompanyId 
     * @Description: TODO
     * @param companyId
     * @return
     * @return: String
     * @author: zhoudongdong 2017年3月2日 下午4:15:12
     */
    String getProductIdsByCompanyId(Integer companyId);
    
    /**
     * 添加访问次数
     * Created by 张栋 on 2017/3/8 16:36
     */
    void addHitTimes(Integer productId);

    /**
     * 根据商品 ID 查询商品列表
     */
    List<Product> selectByProductIds(@Param("productIds") List<Integer> productIds);

    /**
     * 查询商品更新时间
     */
    List<Product> selectBySize(@Param("size") int size);

}